home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 7 / Night Owl Shareware (NOPV7)(Night Owl Publisher Inc.)(1992).bin / 038a / bash1_12.arj / BASH1-12.TAR / bash-1.12 / examples / whatis < prev   
Text File  |  1992-01-09  |  1KB  |  51 lines

  1. #
  2. # whatis -- and implementation of the 10th Edition Unix sh builtin `whatis'
  3. #        command.
  4. #
  5. # usage: whatis arg [...]
  6. #
  7. # For each argument, whatis prints the associated value as a parameter,
  8. # builtin, function, alias, or executable file as appropriate.  In each
  9. # case, the value is printed in a form which would yield the same value
  10. # if typed as input to the shell itself.
  11. #
  12.  
  13. whatis ()
  14. {
  15.   local fail=0
  16.  
  17.   if [ $# -eq 0 ] ; then
  18.     echo 'usage: whatis arg [arg...]'
  19.     return 1
  20.   fi
  21.  
  22.   for arg; do
  23.     case $(builtin type -type $arg 2>/dev/null) in
  24.       "alias")
  25.         builtin alias "$arg"
  26.         ;;
  27.       "function")
  28.         builtin type "$arg" | sed 1d
  29.         ;;
  30.       "builtin")
  31.         echo builtin "$arg"
  32.         ;;
  33.       "file")
  34.         builtin type -path "$arg"
  35.         ;;
  36.       *)
  37.         # OK, we could have a variable, or we could have nada.
  38.         if [ "$(eval echo \${$arg+set})" = "set" ] ; then
  39.           # It is a variable, and it is set.
  40.           echo -n "$arg="
  41.           eval echo '\"'\$$arg'\"'
  42.         else
  43.           echo whatis: $arg: not found
  44.           fail=1
  45.         fi
  46.         ;;
  47.       esac
  48.     done
  49.   return $fail
  50. }
  51.